package com.nicolas.pattern.adapter;

/**
 * Adaptee（适配者类）：适配者即被适配的角色，它定义了一个已经存在的接口，这个接口需要适配，
 * 适配者类一般是一个具体类，包含了客户希望使用的业务方法，在某些情况下可能没有适配者类的源代码。
 * @author nicolas  2017年2月11日 -- 下午9:00:41
 */
public class BinarySearch {
	public int binarySearch(int array[],int key) {  
        int low = 0;  
        int high = array.length -1;  
        while(low <= high) {  
            int mid = (low + high) / 2;  
            int midVal = array[mid];  
            if(midVal < key) {    
            	low = mid +1;    
            }  
            else if (midVal > key) {    
            	high = mid -1;    
            }  
            else {    
            	return 1; //找到元素返回1    
            }  
        }  
        return -1;  //未找到元素返回-1  
    }  
}
